#负责整个项目的配置信息
class Config:
    # 配置数据库和SQLAlchemy
    HOSTNAME = '127.0.0.1'
    PORT = '3306'
    DATABASE = 'dongbaodb'
    USERNAME = 'root'
    PASSWORD = 'root'

    DB_URI = "mysql+pymysql://{username}:{password}@{host}:{port}/{db}?charset=utf8".format(username=USERNAME,
                                                                                            password=PASSWORD,
                                                                                            host=HOSTNAME, port=PORT,
                                                                                            db=DATABASE)
    SQLALCHEMY_DATABASE_URI = DB_URI        # 数据库连接地址
    SQLALCHEMY_TRACK_MODIFICATIONS = False  # 不需要跟踪数据的修改

    #日志的配置
    LOGGING_LEVEL='DEBUG'
    LOGGING_FILE_DIR='logs/'
    LOGGING_FILE_MAX_BYTES=300*1024*1024 #最大的日志文件的大小
    LOGGING_FILE_BACKUP=10 #备份日志的个数

    #限流器采用Redis保存数据，默认是内存，需要安装flask - redis（这里是限流器自动帮我们保存到redis数据库中）
    RATELIMIT_STORAGE_URL = 'redis://127.0.0.1:6379/1'
    # 限制策略：移动窗口：时间窗口会自动变化
    RATELIMIT_STRATEGY = 'moving-window'

    #redis数据库的连接地址（这里获取完后我们可以手动保存数据）,使用数据库2来存放缓存数据包括短信验证码
    REDIS_URL = "redis://127.0.0.1:6379/2"



#开发环境下的配置
class DevelopmentConfig(Config):
    DEBUG = True
    SQLALCHEMY_ECHO = True  # 打印sql语句

#生产环境下的配置
class ProductConfig(Config):
    pass



